package com.txzt.gaea.business.fund.domain.model;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.beetl.sql.core.annotatoin.InsertIgnore;
import org.beetl.sql.core.annotatoin.Table;
import org.beetl.sql.core.annotatoin.UpdateIgnore;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

/*
 * 经费下达表
 * 2022-09-28
 */
@Data
@Table(name="tb_fund_issued")
public class FundIssued {

    //主键ID
    @ExcelIgnore
    private Long id ;
    @UpdateIgnore
    @InsertIgnore
    @ExcelProperty("填报状态")
    private String statusName;
    //预算申请编号
    @ExcelProperty("预算申请编号")
    private String applyNo ;
    @UpdateIgnore
    @InsertIgnore
    @ExcelProperty("计划编号")
    private String projectNo;
    @UpdateIgnore
    @InsertIgnore
    @ExcelProperty("预算项目")
    private String projectName;
    @ExcelProperty("预算科目")
    private String ledgerAccountName;
    //能力建设体系
    @ExcelIgnore
    private String capacityBuildingOne ;
    @ExcelProperty("能力建设体系")
    private String capacityBuildingOneName;
    @ExcelProperty("能力建设体系二级")
    private String capacityBuildingTwoName;
    //能力建设体系三级
    @ExcelIgnore
    private String capacityBuildingThree ;
    @ExcelProperty("能力建设体系三级")
    private String capacityBuildingThreeName;
    //能力建设体系二级
    @ExcelIgnore
    private String capacityBuildingTwo ;
    //计划预算
    @ExcelProperty("计划预算")
    private BigDecimal planBudget ;
    //年度计划预算
    @ExcelProperty("年度计划预算")
    private BigDecimal yearPlanBudget ;
    //翌年计划预算
    @ExcelProperty("翌年计划预算")
    private BigDecimal nextYearPlanBudget ;
    //下达总经费
    @ExcelProperty("下达总经费")
    private BigDecimal totalIssue ;
    //下达年度经费
    @ExcelProperty("下达年度经费")
    private BigDecimal yearIssue ;
    //下达翌年经费
    @ExcelProperty("下达翌年经费")
    private BigDecimal nextYearIssue ;
    //到账经费
    @ExcelProperty("到账经费")
    private BigDecimal fundReceive ;
    @UpdateIgnore
    @InsertIgnore
    @ExcelProperty("填报人")
    private String writeName;
    //填报部门
    @ExcelIgnore
    private Long deptId ;
    @UpdateIgnore
    @InsertIgnore
    @ExcelProperty("填报部门")
    private String deptName;
    //填报时间
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @ExcelProperty("填报时间")
    private Date writeTime ;
    //预算科目
    @ExcelIgnore
    private String ledgerAccount ;
    //项目ID
    @ExcelIgnore
    private Long projectId ;
    //备注
    @ExcelIgnore
    private String remark ;
    //到账总经费
    @ExcelIgnore
    private BigDecimal totalFundReceive ;
    //填报人
    @ExcelIgnore
    private Long writeBy ;
    //填报状态 1 待填报 2 已填报
    @ExcelIgnore
    private Integer status;
    @UpdateIgnore
    @InsertIgnore
    @ExcelIgnore
    private String startTime;
    @UpdateIgnore
    @InsertIgnore
    @ExcelIgnore
    private String endTime;
    @ExcelIgnore
    private String arriveDetail;
    @UpdateIgnore
    @InsertIgnore
    @ExcelIgnore
    private List<Integer> ids;
}
